package com.xul.crowd.service.Impl;

import com.xul.crowd.entity.Menu;
import com.xul.crowd.entity.MenuExample;
import com.xul.crowd.mapper.MenuMapper;
import com.xul.crowd.service.MenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author xul
 * @create 2021-07-24 20:52
 */

@Service
public class MenuServiceImpl implements MenuService {

    @Autowired
    private MenuMapper menuMapper;

    /**
     * 查询全部的Menu对象
     *
     * @return
     */
    @Override
    public List<Menu> getAll() {
        MenuExample menuExample = new MenuExample();
        List<Menu> menuList = menuMapper.selectByExample(menuExample);
        return menuList;
    }

    /**
     * 给菜单维护添加叶子节点
     *
     * @param menu
     */
    @Override
    public void saveMenu(Menu menu) {
        menuMapper.insert(menu);
    }

    /**
     * 修改菜单维护
     *
     * @param menu
     */
    @Override
    public void updateMenu(Menu menu) {
        // 由于pid没有传入 一定要使用有选择的更新 保证pid字段不会置空
        menuMapper.updateByPrimaryKeySelective(menu);
    }

    /**
     * 修改菜单维护
     *
     * @param id
     */
    @Override
    public void removeMenu(Integer id) {
        menuMapper.deleteByPrimaryKey(id);
    }
}
